<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		[page:Material] &rarr;

		<h1>[name]</h1>

		<p class="desc">A material for a use with a [page:Sprite].</p>

		<h2>Code Example</h2>

		<code>
		const map = new THREE.TextureLoader().load( 'textures/sprite.png' );
		const material = new THREE.SpriteMaterial( { map: map, color: 0xffffff } );

		const sprite = new THREE.Sprite( material );
		sprite.scale.set(200, 200, 1)
		scene.add( sprite );
		</code>

		<h2>Examples</h2>
		<p>
			[example:webgl_raycaster_sprite WebGL / raycast / sprite]<br />
			[example:webgl_sprites WebGL / sprites]<br />
			[example:svg_sandbox SVG / sandbox]
		</p>

		<h2>Constructor</h2>

		<h3>[name]( [param:Object parameters] )</h3>
		<p>
			[page:Object parameters] - (optional) an object with one or more
			properties defining the material's appearance. Any property of the
			material (including any property inherited from [page:Material]) can be
			passed in here.<br /><br />

			The exception is the property [page:Hexadecimal color], which can be
			passed in as a hexadecimal string and is `0xffffff` (white) by default.
			[page:Color.set]( color ) is called internally. SpriteMaterials are not
			clipped by using [page:Material.clippingPlanes].
		</p>

		<h2>Properties</h2>
		<p>See the base [page:Material] class for common properties.</p>

		<h3>[property:Texture alphaMap]</h3>
		<p>
			The alpha map is a grayscale texture that controls the opacity across the
			surface (black: fully transparent; white: fully opaque). Default is
			null.<br /><br />

			Only the color of the texture is used, ignoring the alpha channel if one
			exists. For RGB and RGBA textures, the [page:WebGLRenderer WebGL] renderer
			will use the green channel when sampling this texture due to the extra bit
			of precision provided for green in DXT-compressed and uncompressed RGB 565
			formats. Luminance-only and luminance/alpha textures will also still work
			as expected.
		</p>

		<h3>[property:Color color]</h3>
		<p>
			[page:Color] of the material, by default set to white (0xffffff). The
			[page:.map] is multiplied by the color.
		</p>

		<h3>[property:Boolean fog]</h3>
		<p>Whether the material is affected by fog. Default is `true`.</p>

		<h3>[property:Boolean isSpriteMaterial]</h3>
		<p>Read-only flag to check if a given object is of type [name].</p>

		<h3>[property:Texture map]</h3>
		<p>
			The color map. May optionally include an alpha channel, typically combined
			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. 
			Default is null.
		</p>

		<h3>[property:Radians rotation]</h3>
		<p>The rotation of the sprite in radians. Default is `0`.</p>

		<h3>[property:Boolean sizeAttenuation]</h3>
		<p>
			Whether the size of the sprite is attenuated by the camera depth.
			(Perspective camera only.) Default is `true`.
		</p>

		<h3>[property:Boolean transparent]</h3>
		<p>Defines whether this material is transparent. Default is `true`.</p>

		<h2>Methods</h2>
		<p>See the base [page:Material] class for common methods.</p>

		<h2>Source</h2>
		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
